<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  
</body>
</html>

<script>
// 英文：
  // function - 函数

// 正常 JS 执行的顺序：
  // 正常情况下自上往下执行， 除了
    // 1）条件分支   2)循环 


// 函数，怎么 体现其代码执行的顺序：
  // 函数的作用：可以控制代码块，在 任意时刻执行（即程序员可控制）。


/* 函数的写法

  function 函数名/变量名() {
    具体的代码
  }

*/


// 将上面放烟花的代码，「封装」到 函数的代码块中
function fireworks() {
  console.log('***');
  console.log('**');
  console.log('*');
}

/* 总结，函数的作用：
  将代码封装到 函数体(即代码块中)，待将来 `函数名()`，即执行 函数体内的代码块。
*/

/* `函数声明` 的机制：

下面的代码，为`函数声明`：
  function fireworks() {
    console.log('***');
    console.log('**');
    console.log('*');
  }

其机制是，将函数体内的代码，放到了内存中(假如内存地址为 0x001)，
  用函数名/变量名，指向到其 内存空间（0x001）。
*/


/* `函数调用`的机制：
  `函数名()`即为 函数调用/函数执行，
      即执行 函数体内的代码。

*/

</script>